/*
 * @Author: delin66
 * @Date: 2024-12-01 18:04:42
 * @LastEditors: delin66
 * @LastEditTime: 2025-06-05 19:48:03
 * @Descripttion:
 */
import { fileURLToPath, URL } from 'node:url';

import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url)),
    },
    extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'],
  },
  server: {
    proxy: {
      '/api/file': {
        target: 'https://59.36.172.201:9302',
        changeOrigin: true,
        secure: false,
        rewrite: (path) => path.replace(/^\/api\/file/, ''),
      },
      '/api': {
        target: 'http://59.36.172.201:9190',
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/api/, '/prod-api'),
      },
    },
  },
  build: {
    // 如果自己分片的话，就会生成37个文件
    // chunkSizeWarningLimit: 1000,
    // rollupOptions: {
    //   output: {
    //     manualChunks(id) {
    //       if (id.includes('node_modules')) {
    //         return id.toString().split('node_modules/')[1].split('/')[0].toString();
    //       }
    //     }
    //   }
    // }
    // 不分片的话只有10个，但是有几个文件很大，打包时候会有提示，这里限制2M吧，如果再由超出提示就用上面那个
    chunkSizeWarningLimit: 2048,
  },
});